AP计算机科学A复习:Unit 1 – Primitive Types 基本的数据类型

AP计算机科学A复习:Unit 1 – Primitive Types 基本的数据类型 这是AP CSA课程的第一个单元,我们将了解Java编程中最基础的一些知识点,例如四则运算。与我们以往熟悉的手写算数式不同,计算机编程中还需要区分不同格式的数据,并且根据程序需要使用合适的数据格式,我们把这些数据格式称作「Data Types」。 在开始之前,建议你再次打开「概述篇」看到课程大纲对每个单元的简介。作为AP CSA课程的正式开始,我们要先了解它的内容结构。其中U1, U3, U4介绍的都是计算机编程最基础的语法,包括顺序结构,即从上往下依次执行的程序;选择结构,比如if语句,根据程序运行时的不同实际情况自动做出预设好的反应;循环结构,在满足预设的条件时,反复执行某些操作。而U2, U5则学习Java的「面向对象编程」特征,在这里我们将了解什么是「对象Object」;Object和Class和Methods等等看似抽象的名词应该如何理解 等等。随后的U5, U6, U7分别讲述数组、动态数组、和二维数组的语法和实际在程序写作中的应用。U9是Java语言的一大亮点,即「继承Inheritance」,已经在「概述篇」对应的单元简介展示过例子。U10则介绍了一种由Method自己调用自己以达到类似循环结构效果的算法。 所以,从我自己的感受看来,学习AP CSA课程的顺序应该是: U1-> U3-> U4 U2-> U5  U6->U7-> U8 U9 U10 U1.1 输出更多细节 在上篇U0的材料的U0.1中,我们已经知道了如何写作一个程序来把某些数据显示在计算机的输出设备——屏幕上。我们已经知道,输出语句的尾巴上有一个括号,这个括号里面的内容是表达式「expression」,而表达式就是我们要输出显示到屏幕上的内容。上篇材料还对比了用引号把表达式里的内容括起来,和不括起来有什么区别。所以你已经知道,输出一串文本内容时,应该使用引号把它括起来,这样计算机才知道你要输出的是一个字符串,而不是变量。相对的,如果直接在表达式里输入某个变量名且不加引号,输出的内容会是这个变量里面存储的数据,而不是变量名本身。 但你会发现,如果用的输出语句是下面这样,那么两个输出语句的内容会按顺序分别显示在不同的两行。也就是说第一个输出语句结束后提行了。 那如果我希望把两个输出语句的内容放在同一行呢,这个时候就需要对输出语句做出一点点超简单的修改。看到「println」,我们来拆解一下这个单词,「print」的意思是打印,它的后面紧跟的「ln」其实就是换行的指令。因此,我们写作输出语句的时候使用下面这样的写法,去除提行指令「ln」,就可以把两个输出语句的内容打印在同一行。 U1.2 Variables and data types 既然叫计算机,那么处理数据当然是比输出固定的文字更基本的功能。通过「声明变量」的方式,我们可以在计算机内存里开辟一块位置用来存放数据。在Java编程中数据被分为两大类,即「primitive types」和「reference types」。每一个被声明的「primitive types」变量都被存放在一块计算机内存中,可以视觉化的理解为每一个小格子就是一块内存,声明变量就是取一个小格子贴上名牌,同时规定这个格子具体的「data types」,不同格式的数据要存储在不同的「data types」里。例如,整数属于「int」,而小数属于「double」。一般不考察「reference types」的理论定义。 在AP CSA课程中我们会用到的具体的变量类型(而非大类)有「int」整数;「double」小数;「boolean」布尔变量;「String」字符串;「Array」数组。 我们可以简单的理解为「int」只能存储整数,「double」只能存带有小数点的数据,「boolean」是布尔数,只有两个可能性:「true」、「false」,分别代表「真」和「假」。后面的第3单元会有详细的介绍。「String」是字符串,顾名思义可以用来存储一段文字。「Array」比较特别,第六单元专门介绍「Array」的操作。 其中「int」、「double」、「boolean」属于「primitive types」;「String」、「Array」属于「reference types」。需要能够识别具体的变量类型属于哪一个大类。 然后是变量名称「variable name」,这相当于是一个门牌号,知道「variable name」就可以操作对应的格子里的数据。例如加减乘除。后文会具体介绍要用到的语法。 那么我们来尝试声明变量。声明变量的语句包含具体的「data … Continue reading AP计算机科学A复习:Unit 1 – Primitive Types 基本的数据类型